package com.lcm.oj.lanqiao.year2021.moni.c3;

import java.util.Scanner;

/**
 * @author Coder-lcm
 * @date 2021/4/17
 */
public class T9 {
    private static int n;
    private static int m;
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        n = sc.nextInt();
        m = sc.nextInt();
        int[][] nums = new int[n][m];
        int[][] res = new int[n][m];
        for (int i = 0; i < n; i++) {
            for (int i1 = 0; i1 < m; i1++) {
                nums[i][i1] = sc.nextInt();
            }
        }


        for (int i = 0; i < n; i++) {
            for (int i1 = 0; i1 < m; i1++) {
                int max = nums[i][i1];
                // 上方
                if (isValidPoint(i-1,i1) && nums[i-1][i1] > max) {
                    max = nums[i-1][i1];
                }

                // 下方
                if (isValidPoint(i+1,i1) && nums[i+1][i1] > max) {
                    max = nums[i+1][i1];
                }

                // 左方
                if (isValidPoint(i,i1-1) && nums[i][i1-1] > max) {
                    max = nums[i][i1-1];
                }

                // 右方
                if (isValidPoint(i,i1+1) && nums[i][i1+1] > max) {
                    max = nums[i][i1+1];
                }

                // 左上方
                if (isValidPoint(i-1,i1+1) && nums[i-1][i1+1] > max) {
                    max = nums[i-1][i1+1];
                }

                // 右上方
                if (isValidPoint(i-1,i1-1) && nums[i-1][i1-1] > max) {
                    max = nums[i-1][i1-1];
                }

                // 左下方
                if (isValidPoint(i+1,i1-1) && nums[i+1][i1-1] > max) {
                    max = nums[i+1][i1-1];
                }

                // 右下方
                if (isValidPoint(i+1,i1+1) && nums[i+1][i1+1] > max) {
                    max = nums[i+1][i1+1];
                }
                res[i][i1] = max;
            }
        }

        for (int i = 0; i < n; i++) {
            for (int i1 = 0; i1 < m; i1++) {
                System.out.print(res[i][i1] + " ");
            }
            System.out.println();
        }
    }

    /**
     * 判断某个点是否有效
     * @param x
     * @param y
     * @return
     */
    public static boolean isValidPoint(int x, int y){
        return x >= 0 && x < n && y >= 0 && y < m;
    }
}
